std::literals::chrono_literals::operator""y
Определено в заголовочном файле <chrono> | ||
|---|---|---|
constexpr std::chrono::year operator""y( unsigned long long y ) noexcept; | (начиная с C++20) |
Формирует литерал std::chrono::year, представляющий год в пролептическом григорианском календаре.
Параметры
| y | - | значение года |
Возвращаемое значение
Объект std::chrono::year, инициализированный из int(y). Если y не входит в диапазон [-32767, 32767], сохранённое значение не определено.
Возможная реализация
constexpr std::chrono::year operator""y(unsigned long long y) noexcept
{
return std::chrono::year(static_cast<int>(y));
}
|
Примечания
Этот оператор объявлен в пространстве имён std::literals::chrono_literals, где и literals, и chrono_literals являются встраиваемыми пространствами имён. Получить доступ к этому оператору можно с помощью:
-
using namespace std::literals, -
using namespace std::chrono_literalsили -
using namespace std::literals::chrono_literals.
Кроме того, в пространстве имён std::chrono стандартная библиотека предоставляет директиву using namespace literals::chrono_literals;, так что, если программист использует using namespace std::chrono; для доступа к классам из библиотеки chrono, соответствующие операторы литералов также становятся видимыми.
Пример
#include <chrono>
#include <iostream>
int main()
{
using namespace std::literals;
std::cout << int(2020y) << '\t' << 2020y << '\n'
<< int(-220y) << '\t' << -220y << '\n'
<< int(3000y) << '\t' << 3000y << '\n'
<< int(32768y) << '\t' << 32768y << '\n' // unspecified
<< int(65578y) << '\t' << 65578y << '\n'; // unspecified
}
Возможный вывод:
2020 2020 -220 -0220 3000 3000 -32768 -32768 is not a valid year 42 0042
См. также
создаёт объект year (открытая функция-член std::chrono::year) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/operator%22%22y